package face.pay.web.advert.service;

import face.pay.entity.AdvertBatch;
import face.pay.entity.AdvertMaterial;
import face.pay.entity.UserInfo;
import face.pay.util.ResultMessage;
import face.pay.util.page.PageData;
import face.pay.util.page.PageParam;

public interface IAdvertService {
    /**
     * 广告上传
     *
     * @param fileBytes
     * @param originalFilename
     * @param loginUser
     * @param adType
     * @param ad_type
     * @return
     */
    ResultMessage fielUpload(byte[] fileBytes, String originalFilename, UserInfo loginUser, String adType, String ad_type);


    /**
     * 查询广告列表
     *
     * @param pageParam
     * @param loginUser
     * @param advertMaterial
     * @return
     */
    PageData queryAdList(PageParam pageParam, UserInfo loginUser, AdvertMaterial advertMaterial);

    /**
     * 查询设备列表
     * @param pageParam
     * @param loginUser
     * @return
     */
    PageData queryTerminalList(PageParam pageParam, UserInfo loginUser);

    /**
     * 广告推送
     * @param loginUser
     * @param batchId
     * @return
     */
    ResultMessage adPush(UserInfo loginUser, Integer batchId);

    /**
     * 新增一个批次
     * @param loginUser
     * @param advertBatch
     * @return
     */
    ResultMessage insertAdvertBatch(UserInfo loginUser, AdvertBatch advertBatch);


    /**
     * 分页查询广告当前oem商下的广告批次
     * @param pageParam
     * @param loginUser
     * @param advertBatch
     * @return
     */
    PageData queryAdvertBatchlList(PageParam pageParam, UserInfo loginUser, AdvertBatch advertBatch);

    /**
     * 查询广告详情
     * @param loginUser
     * @param batchId
     * @return
     */
    ResultMessage queryBatchlinfo(UserInfo loginUser, Integer batchId);



    /**
     * 配置广告
     * @param loginUser
     * @param advertBatch
     * @param adList
     * @return
     */
    ResultMessage updatAdvert(UserInfo loginUser, AdvertBatch advertBatch, String adList);

    /**
     * 配置设备
     * @param loginUser
     * @param advertBatch
     * @param terList
     * @return
     */
    ResultMessage updatTerminal(UserInfo loginUser, AdvertBatch advertBatch, String terList);
}
